=========================================================================== BBS: The Abacus * HST/DS * Potterville, MI Date: 03-13-93 (22:27) Number: 88 From: QUINN TYLER JACKSON Refer#: NONE To: ALL Recvd: NO Subj: formula solver 6/7 Conf: (35) Quick Basi --------------------------------------------------------------------------- '>>> Start of page 6. ' This part expands any TOKEN$ that is a factorial Suffix$ = RIGHT$(TOKEN$, 1) IF Suffix$ = "!" THEN ' expand the factorial to something more chewable! Factorial = VAL(TOKEN$) Temp = 1 FOR i = 1 TO Factorial Temp = Temp * i NEXT i TOKEN$ = STR$(Temp) END IF END SUB SUB sqjLevel1 (r) ' See if something of a higher precedence should be done first. CALL sqjLevel2(r ) Op$ = TOKEN$ ' The lowest level of precedence is handled by this Level. DO WHILE fqjInOpList(LOGICAL, Op$) CALL sqjGetOp CALL sqjLevel2(h) CALL sqjApplyOp(Op$, r, h) Op$ = TOKEN$ LOOP END SUB SUB sqjLevel2 (r) ' See if something of a higher precedence should be done first. CALL sqjLevel3(r ) Op$ = TOKEN$ DO WHILE fqjInOpList(ADDSUB, Op$) CALL sqjGetOp CALL sqjLevel3(h) CALL sqjApplyOp(Op$, r, h) Op$ = TOKEN$ LOOP END SUB SUB sqjLevel3 (r) ' See if something of a higher precedence should be done first. CALL sqjLevel4(r ) Op$ = TOKEN$ DO WHILE fqjInOpList(MULTDIV, Op$) CALL sqjGetOp CALL sqjLevel4(h) CALL sqjApplyOp(Op$, r, h) Op$ = TOKEN$ LOOP END SUB SUB sqjLevel4 (r) ' See if something of a higher precedence should be done first. CALL sqjLevel5(r ) '>>> Continued on page 7. --- Maximus/2 2.01wb * Origin: The Nibble's Roost, Richmond BC Canada 604-244-8009 (1:153/918) SEEN-BY: 1/211 11/2 4 13/13 101/1 108/89 109/25 110/69 114/5 123/19 124/1 SEEN-BY: 153/752 154/40 77 157/2 159/100 125 430 950 203/23 209/209 280/1 SEEN-BY: 390/1 396/1 15 397/2 2230/100 3603/20